home *** CD-ROM | disk | FTP | other *** search
Wrap
# Source Generated with Decompyle++ # File: in.pyc (Python 2.5) from gtcache import gettext as _ import logging import config import prefs import app import views import indexes import os from eventloop import asUrgent from database import DDBObject import opml import iconcache import resources import platform import guide import feed import folder import playlist class ThemeHistory(DDBObject): def __init__(self): DDBObject.__init__(self) self.lastTheme = None self.pastThemes = [] self.theme = config.get(prefs.THEME_NAME) if self.theme is not None: self.theme = unicode(self.theme) self.pastThemes.append(self.theme) self.onFirstRun() def checkNewTheme(self): self.theme = config.get(prefs.THEME_NAME) if self.theme is not None: self.theme = unicode(self.theme) if self.theme not in self.pastThemes: self.pastThemes.append(self.theme) self.onFirstRun() if self.lastTheme != self.theme: self.lastTheme = self.theme self.onThemeChange() def onThemeChange(self): self.signalChange() onThemeChange = asUrgent(onThemeChange) def onFirstRun(self): logging.info('Spawning Miro Guide...') guideURL = unicode(config.get(prefs.CHANNEL_GUIDE_URL)) if guide.getGuideByURL(guideURL) is None: guide.ChannelGuide(guideURL, unicode(config.get(prefs.CHANNEL_GUIDE_ALLOWED_URLS)).split()) if config.get(prefs.MAXIMIZE_ON_FIRST_RUN).lower() not in ('false', 'no', '0'): app.delegate.maximizeWindow() if self.theme is not None: new_guides = unicode(config.get(prefs.ADDITIONAL_CHANNEL_GUIDES)).split() for temp_guide in new_guides: if guide.getGuideByURL(temp_guide) is None: guide.ChannelGuide(temp_guide) continue if config.get(prefs.DEFAULT_CHANNELS_FILE) is not None and config.get(prefs.THEME_NAME) is not None and config.get(prefs.THEME_DIRECTORY) is not None: importer = opml.Importer() filepath = os.path.join(config.get(prefs.THEME_DIRECTORY), config.get(prefs.THEME_NAME), config.get(prefs.DEFAULT_CHANNELS_FILE)) importer.importSubscriptionsFrom(filepath, showSummary = False) elif None not in self.pastThemes: self.pastThemes.append(None) self._installDefaultFeeds() else: self._installDefaultFeeds() def _installDefaultFeeds(self): initialFeeds = resources.path('initial-feeds.democracy') if os.path.exists(initialFeeds): urls = subscription.parseFile(initialFeeds) if urls is not None: for url in urls: feed.Feed(url, initiallyAutoDownloadable = False) dialog = dialogs.MessageBoxDialog(_('Custom Channels'), Template(_('You are running a version of $longAppName with a custom set of channels.')).substitute(longAppName = config.get(prefs.LONG_APP_NAME))) dialog.run() app.controller.initial_feeds = True else: logging.info('Adding default feeds') if platform.system() == 'Darwin': defaultFeedURLs = [ u'http://www.getmiro.com/screencasts/mac/mac.feed.rss'] elif platform.system() == 'Windows': defaultFeedURLs = [ u'http://www.getmiro.com/screencasts/windows/win.feed.rss'] else: defaultFeedURLs = [ u'http://www.getmiro.com/screencasts/windows/win.feed.rss'] defaultFeedURLs.extend([ (_('Starter Channels'), [ u'http://richie-b.blip.tv/posts/?skin=rss', u'http://feeds.pbs.org/pbs/kcet/wiredscience-video', u'http://www.jpl.nasa.gov/multimedia/rss/podfeed-hd.xml', u'http://www.linktv.org/rss/hq/mosaic.xml'])]) for default in defaultFeedURLs: print repr(default) if isinstance(default, tuple): defaultFolder = default c_folder = folder.ChannelFolder(defaultFolder[0]) for url in defaultFolder[1]: d_feed = feed.Feed(url, initiallyAutoDownloadable = False) d_feed.setFolder(c_folder) d_feed = feed.Feed(default, initiallyAutoDownloadable = False) playlist.SavedPlaylist(_(u'Example Playlist')) _installDefaultFeeds = asUrgent(_installDefaultFeeds)